package com.yonyou.sto.modules.ims.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 开票信息
 * @TableName IMS_RETURN_INVOICE
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("IMS_RETURN_INVOICE")
@ApiModel(value="ImsReturnInvoice对象", description="开票信息")
public class ImsReturnInvoice implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "ID",type = IdType.INPUT)
    private String id;

    @ApiModelProperty(value = "单据编码")
    @TableField("BILL_SN")
    private String billSn;

    @ApiModelProperty(value = "发票内容")
    @TableField("BILL_CONTENT")
    private String billContent;

    @ApiModelProperty(value = "悦闻系统推送字段 组织标识（WY、CM、SY、XX、ZC），（物业事业部、传媒事业部、信息事业部、商业事业部、公司本部）")
    @TableField("COMPANY_ID")
    private String companyId;

    @ApiModelProperty(value = "悦闻系统推送字段（组织名称）")
    @TableField("COMPANY_NAME")
    private String companyName;

    @ApiModelProperty(value = "开票组织名称")
    @TableField("PARTY_NAME")
    private String partyName;

    @ApiModelProperty(value = "收款单位编号（本方）")
    @TableField("SELLER_SN")
    private String sellerSn;

    @ApiModelProperty(value = "收款单位名称（本方） ")
    @TableField("SELLER_NAME")
    private String sellerName;

    @ApiModelProperty(value = "购买方名称")
    @TableField("BUYER_NAME")
    private String buyerName;

    @ApiModelProperty(value = "购买方纳税人识别号")
    @TableField("BUYER_TAX_SN")
    private String buyerTaxSn;

    @ApiModelProperty(value = "合同编号")
    @TableField("CONTRACT_SN")
    private String contractSn;

    @ApiModelProperty(value = "合同名称")
    @TableField("CONTRACT_NAME")
    private String contractName;

    @ApiModelProperty(value = "收款内容和备注")
    @TableField("NOTE")
    private String note;

    @ApiModelProperty(value = "价税合计")
    @TableField("PAY_AMOUNT")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "发票流水号")
    @TableField("BILL_SERIAL")
    private String billSerial;

    @ApiModelProperty(value = "发票类型：3->增值税普通发票；4->增值税专用发票；31->全电专票；32->全电普票")
    @TableField("BILL_TYPE")
    private Integer billType;

    @ApiModelProperty(value = "提交时间")
    @TableField("CREATE_TIME")
    private String createTime;

    @ApiModelProperty(value = "单据状态")
    @TableField("VSTATUS")
    private Integer status;

    @ApiModelProperty(value = "NC主表主键")
    @TableField("PK_NCH")
    private String pkNch;

    @ApiModelProperty(value = "NC时间")
    @TableField("TS")
    private String ts;

    @ApiModelProperty(value = "单据类型")
    @TableField("DJLX")
    private String djlx;

    @ApiModelProperty(value = "申请人名称")
    @TableField("APPLYNAME")
    private String applyname;

    @ApiModelProperty(value = "申请人编码")
    @TableField("APPLYCODE")
    private String applycdoe;

    @ApiModelProperty(value = "申请人日期")
    @TableField("APPLYDATE")
    private String applydate;

    @ApiModelProperty(value = "无税金额")
    @TableField("WSJE")
    private BigDecimal wsje;

    @ApiModelProperty(value = "开票申请金额")
    @TableField("APPLYJE")
    private BigDecimal applyje;

    @ApiModelProperty(value = "发票号码")
    @TableField("BILL_NO")
    private String billNo;

    @ApiModelProperty(value = "发票代码")
    @TableField("BILL_CODE")
    private String billCode;

    @ApiModelProperty(value = "税额")
    @TableField("TAX_AMOUNT")
    private BigDecimal taxAmount;

    @ApiModelProperty(value = "红字申请单号")
    @TableField("REDAPPLYCODE")
    private String redapplycode;

    @ApiModelProperty(value = "客户主键")
    @TableField("PK_NCCUST")
    private String pkNccust;

    @ApiModelProperty(value = "客户编码")
    @TableField("CUSTCODE")
    private String custcode;

    @ApiModelProperty(value = "自定义项1")
    private String def1;

    @ApiModelProperty(value = "自定义项2")
    private String def2;

    @ApiModelProperty(value = "自定义项3")
    private String def3;

    @ApiModelProperty(value = "自定义项4")
    private String def4;

    @ApiModelProperty(value = "自定义项5")
    private String def5;

    @ApiModelProperty(value = "自定义项6")
    private String def6;

    @ApiModelProperty(value = "自定义项7")
    private String def7;

    @ApiModelProperty(value = "自定义项8")
    private String def8;

    @ApiModelProperty(value = "自定义项9")
    private String def9;

    @ApiModelProperty(value = "自定义项10")
    private String def10;

    @ApiModelProperty(value = "蓝字发票号")
    private String blueBillNo;

    @ApiModelProperty(value = "蓝字发票代码")
    private String blueBillCode;

    @ApiModelProperty(value = "红字发票号")
    private String redBillNo;

    @ApiModelProperty(value = "红字发票代码")
    private String redBillCode;

}